module.exports = function (req, res) {
    const perPage = 10;
    const page = req.query.page || 1;
    let items = data.concat();
  
    if (req.query.keywords) {
      const keywords = req.query.keywords;
      items = items.filter(function (item) {
        return ~JSON.stringify(item).indexOf(keywords);
      });
    }
  
    const ret = {
      status: 0,
      msg: 'ok',
      data: {
        count: items.length,
        rows: items.concat().splice((page - 1) * perPage, perPage),
        columns: [
          {
            label: 'ID',
            name: 'id'
          },
          {
            label: '引擎',
            name: 'engine'
          },
          {
            label: '浏览器',
            name: 'browser'
          },
          {
            label: '平台',
            name: 'platform'
          }
        ]
      }
    };
  
    res.json(ret);
  };
  
  const data = [
    {
      engine: 'Trident',
      browser: 'Internet Explorer 4.0',
      platform: 'Win 95+',
      version: '4',
      grade: 'X'
    },
    {
      engine: 'Trident',
      browser: 'Internet Explorer 5.0',
      platform: 'Win 95+',
      version: '5',
      grade: 'C'
    },
    {
      engine: 'Trident',
      browser: 'Internet Explorer 5.5',
      platform: 'Win 95+',
      version: '5.5',
      grade: 'A'
    },
    {
      engine: 'Trident',
      browser: 'Internet Explorer 6',
      platform: 'Win 98+',
      version: '6',
      grade: 'A'
    },
    {
      engine: 'Trident',
      browser: 'Internet Explorer 7',
      platform: 'Win XP SP2+',
      version: '7',
      grade: 'A'
    },
    {
      engine: 'Trident',
      browser: 'AOL browser (AOL desktop)',
      platform: 'Win XP',
      version: '6',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Firefox 1.0',
      platform: 'Win 98+ / OSX.2+',
      version: '1.7',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Firefox 1.5',
      platform: 'Win 98+ / OSX.2+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Firefox 2.0',
      platform: 'Win 98+ / OSX.2+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Firefox 3.0',
      platform: 'Win 2k+ / OSX.3+',
      version: '1.9',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Camino 1.0',
      platform: 'OSX.2+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Camino 1.5',
      platform: 'OSX.3+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Netscape 7.2',
      platform: 'Win 95+ / Mac OS 8.6-9.2',
      version: '1.7',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Netscape Browser 8',
      platform: 'Win 98SE+',
      version: '1.7',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Netscape Navigator 9',
      platform: 'Win 98+ / OSX.2+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.0',
      platform: 'Win 95+ / OSX.1+',
      version: '1',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.1',
      platform: 'Win 95+ / OSX.1+',
      version: '1.1',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.2',
      platform: 'Win 95+ / OSX.1+',
      version: '1.2',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.3',
      platform: 'Win 95+ / OSX.1+',
      version: '1.3',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.4',
      platform: 'Win 95+ / OSX.1+',
      version: '1.4',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.5',
      platform: 'Win 95+ / OSX.1+',
      version: '1.5',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.6',
      platform: 'Win 95+ / OSX.1+',
      version: '1.6',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.7',
      platform: 'Win 98+ / OSX.1+',
      version: '1.7',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Mozilla 1.8',
      platform: 'Win 98+ / OSX.1+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Seamonkey 1.1',
      platform: 'Win 98+ / OSX.2+',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Gecko',
      browser: 'Epiphany 2.20',
      platform: 'Gnome',
      version: '1.8',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'Safari 1.2',
      platform: 'OSX.3',
      version: '125.5',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'Safari 1.3',
      platform: 'OSX.3',
      version: '312.8',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'Safari 2.0',
      platform: 'OSX.4+',
      version: '419.3',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'Safari 3.0',
      platform: 'OSX.4+',
      version: '522.1',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'OmniWeb 5.5',
      platform: 'OSX.4+',
      version: '420',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'iPod Touch / iPhone',
      platform: 'iPod',
      version: '420.1',
      grade: 'A'
    },
    {
      engine: 'Webkit',
      browser: 'S60',
      platform: 'S60',
      version: '413',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 7.0',
      platform: 'Win 95+ / OSX.1+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 7.5',
      platform: 'Win 95+ / OSX.2+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 8.0',
      platform: 'Win 95+ / OSX.2+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 8.5',
      platform: 'Win 95+ / OSX.2+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 9.0',
      platform: 'Win 95+ / OSX.3+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 9.2',
      platform: 'Win 88+ / OSX.3+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera 9.5',
      platform: 'Win 88+ / OSX.3+',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Opera for Wii',
      platform: 'Wii',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Nokia N800',
      platform: 'N800',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Presto',
      browser: 'Nintendo DS browser',
      platform: 'Nintendo DS',
      version: '8.5',
      grade: 'C'
    },
    {
      engine: 'KHTML',
      browser: 'Konqureror 3.1',
      platform: 'KDE 3.1',
      version: '3.1',
      grade: 'C'
    },
    {
      engine: 'KHTML',
      browser: 'Konqureror 3.3',
      platform: 'KDE 3.3',
      version: '3.3',
      grade: 'A'
    },
    {
      engine: 'KHTML',
      browser: 'Konqureror 3.5',
      platform: 'KDE 3.5',
      version: '3.5',
      grade: 'A'
    },
    {
      engine: 'Tasman',
      browser: 'Internet Explorer 4.5',
      platform: 'Mac OS 8-9',
      version: '-',
      grade: 'X'
    },
    {
      engine: 'Tasman',
      browser: 'Internet Explorer 5.1',
      platform: 'Mac OS 7.6-9',
      version: '1',
      grade: 'C'
    },
    {
      engine: 'Tasman',
      browser: 'Internet Explorer 5.2',
      platform: 'Mac OS 8-X',
      version: '1',
      grade: 'C'
    },
    {
      engine: 'Misc',
      browser: 'NetFront 3.1',
      platform: 'Embedded devices',
      version: '-',
      grade: 'C'
    },
    {
      engine: 'Misc',
      browser: 'NetFront 3.4',
      platform: 'Embedded devices',
      version: '-',
      grade: 'A'
    },
    {
      engine: 'Misc',
      browser: 'Dillo 0.8',
      platform: 'Embedded devices',
      version: '-',
      grade: 'X'
    },
    {
      engine: 'Misc',
      browser: 'Links',
      platform: 'Text only',
      version: '-',
      grade: 'X'
    },
    {
      engine: 'Misc',
      browser: 'Lynx',
      platform: 'Text only',
      version: '-',
      grade: 'X'
    },
    {
      engine: 'Misc',
      browser: 'IE Mobile',
      platform: 'Windows Mobile 6',
      version: '-',
      grade: 'C'
    },
    {
      engine: 'Misc',
      browser: 'PSP browser',
      platform: 'PSP',
      version: '-',
      grade: 'C'
    },
    {
      engine: 'Other browsers',
      browser: 'All others',
      platform: '-',
      version: '-',
      grade: 'U'
    }
  ].map(function (item, index) {
    return Object.assign({}, item, {
      id: index + 1
    });
  });
  